1 GOTO28 2 POKEM,77:POKEM+3,78:POKEM+23,77:POKEM+24,78:POKEM+45,78 3 POKEM+46,77:POKEM+66,78:POKEM+69,77:RETURN 4 POKEM,85:POKEM+1,67:POKEM+2,67:POKEM+3,73:POKEM+22,66:POKEM+23,32:POKEM+25,93 5 POKEM+44,66:POKEM+47,93:POKEM+66,74:POKEM+67,64:POKEM+68,64:POKEM+69,75:RETURN 6 FORI=M+C TOM+C+66 STEP22:POKEI,CC(N):POKEI+1,CC(N):POKEI+2,CC(N) 7 POKEI+3,CC(N):NEXT:RETURN 8 POKEF1,231 9 FORD=1TO60:NEXT:POKEF1,0:RETURN 10 X=N:P(E)=X:M=S(E):ONX GOSUB2,2,4 11 GOSUB6 12 FORI=1TO7STEP3 13 IFP(I)<>P(I+1)THEN16 14 IFP(I)<>P(I+2)THEN16 15 ONP(I)+1GOTO16,89,89,89 16 NEXT 17 FORI=1TO3 18 IFP(I)<>P(I+3)THEN21 19 IFP(I)<>P(I+6)THEN21 20 ONP(I)+1GOTO21,89,89,89 21 NEXT 22 IFP(5)<>X THEN25 23 IF(P(1)=X)AND(P(9)=X)THEN89 24 IF(P(3)=X)AND(P(7)=X)THEN89 25 FORI=1TO9:IFP(I)=0THEN27 26 NEXT:PRINT"TIE GAME!":GOTO92 27 N=ABS(N-4):RETURN 28 PRINT"[147]":PRINTTAB(5)"TIC-TAC-TOE":FORI=1TO9:READS(I):NEXT 29 DATA7726,7733,7740,7880,7887,7894,8034,8041,8048 30 PRINT"CHOOSE ONE OF THE":PRINT"POSITION NUMBERS.":PRINT"GET 3 IN A ROW." 31 POKE36878,15:F1=36876:C=30720:CC(1)=6:CC(3)=2:Y=3:Z=1:H=2 32 PRINT"[144]X GETS FIRST MOVE.":PRINT"CHOOSE [144]F1 FOR [144]X":PRINTTAB(7)"F3 FOR [144]0" 33 GETE$:IFE$<>"[133]"ANDE$<>"[134]"THEN33 34 IFE$="[133]"THENY=1:Z=3 35 PRINT"CHOOSE [144]F1 BEGINNER":PRINTTAB(7)"[144]F3 INTERMEDIATE" 36 GETE$:IFE$<>"[133]"ANDE$<>"[134]"THEN36 37 IFE$="[133]"THENH=1 38 PRINT"[147]":T=INT(6*RND(0))+2:FORI=1TO9:P(I)=0:NEXT 39 FORI=7709TO8129STEP22:POKEI,160:POKEI+C,T:POKEI+7,160:POKEI+7+C,T:NEXT 40 FORI=7835TO7854:POKEI,160:POKEI+C,T:POKEI+154,160:POKEI+154+C,T:NEXT 41 FORI=1TO9:POKES(I)+23,I+48:POKES(I)+23+C,0:NEXT 42 N=1:IFH=2THEN51 43 IFY=1THEN46 44 E=INT(9*RND(0)+1):IFP(E)<>0THEN44 45 GOSUB10 46 GOSUB8 47 GETE$:IFE$=""THEN47 48 IFE$<"1"ORE$>"9"THEN47 49 E=VAL(E$):IFP(E)<>0THEN46 50 GOSUB10:ONH GOTO44,52 51 IFY=1THEN46 52 IFP(5)=0THENE=5:GOTO88 53 IFP(5)=X THEN58 54 IFP(1)=0ANDP(9)=Z THENE=1:GOTO88 55 IFP(1)=Z ANDP(9)=0THENE=9:GOTO88 56 IFP(3)=0ANDP(7)=Z THENE=3:GOTO88 57 IFP(3)=Z ANDP(7)=0THENE=7:GOTO88 58 FORK=1TO3:IF(P(K)=X)+(P(K+3)=X)+(P(K+6)=X)THEN63 59 IFP(K)+P(K+3)+P(K+6)<>2*Z THEN63 60 IF P(K)=0THENE=K:GOTO88 61 IFP(K+3)=0THENE=K+3:GOTO88 62 E=K+6:GOTO88 63 NEXT 64 FORK=1TO7STEP3:IF(P(K)=X)+(P(K+1)=X)+(P(K+2)=X)THEN69 65 IFP(K)+P(K+1)+P(K+2)<>2*Z THEN69 66 IFP(K)=0THENE=K:GOTO88 67 IFP(K+1)=0THENE=K+1:GOTO88 68 E=K+2:GOTO88 69 NEXT 70 FORK=1TO3:IF(P(K)=Z)+(P(K+3)=Z)+(P(K+6)=Z)THEN75 71 IFP(K)+P(K+3)+P(K+6)<>2*X THEN75 72 IFP(K)=0THENE=K:GOTO88 73 IFP(K+3)=0THENE=K+3:GOTO88 74 E=K+6:GOTO88 75 NEXT 76 FORK=1TO7STEP3:IF(P(K)=Z)+(P(K+1)=Z)+(P(K+2)=Z)THEN81 77 IFP(K)+P(K+1)+P(K+2)<>2*X THEN81 78 IFP(K)=0THEN E=K:GOTO88 79 IFP(K+1)=0THENE=K+1:GOTO88 80 E=K+2:GOTO88 81 NEXT 82 IFP(5)=Z THEN87 83 IFP(1)=0ANDP(9)=X THENE=1:GOTO88 84 IFP(1)=X ANDP(9)=0THENE=9:GOTO88 85 IFP(3)=0ANDP(7)=X THENE=3:GOTO88 86 IFP(3)=X ANDP(7)=0THENE=7:GOTO88 87 GOTO44 88 GOSUB10:GOTO46 89 IFX<>Y THEN91 90 PRINT"YOU WIN!!!":GOTO92 91 PRINT"COMPUTER WINS!!" 92 FORI=1TO20:POKEF1,INT(20*RND(0)+200):GOSUB9:NEXT 93 PRINT"TRY AGAIN? (Y/N)"; 94 GETE$:IFE$="N"THEN97 95 IFE$<>"Y"THEN94 96 CLR:GOTO28 97 PRINT"[147]":END